package com.wink_172.library.utils

import android.app.Activity
import android.content.ComponentName
import android.content.Context
import android.content.Intent
import android.net.Uri
import com.wink_172.library.R
import org.xutils.common.Callback.*
import org.xutils.http.RequestParams
import org.xutils.x
/**
 * 分享图片到 微信聊天窗口  朋友圈
 * @param path  本地路径的图片
 */
private fun shareWeChat(activity: Activity, path: String, chat_window: Boolean) {
    val uriToImage: Uri = UriUtils.getUri(x.app(),path)
    val shareIntent = Intent()


    if (chat_window) {
        //发送图片给好友。
        val comp = ComponentName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareImgUI")
        shareIntent.component = comp
    } else {
//            发送图片到朋友圈
        val comp = ComponentName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareToTimeLineUI");
        shareIntent.component = comp
    }

    shareIntent.action = Intent.ACTION_SEND
    shareIntent.putExtra(Intent.EXTRA_STREAM, uriToImage)
    shareIntent.type = "image/jpeg"
    activity.startActivity(Intent.createChooser(shareIntent, "分享图片"))
}
/**
 * 国外第三方app分享工具
 */
object ShareUtils {
    fun shareText(context: Context, extraText: String?) {
        val intent = Intent(Intent.ACTION_SEND).apply {
           type = "text/plain"
           putExtra(Intent.EXTRA_SUBJECT, context.getString(R.string.app_name))
          putExtra(Intent.EXTRA_TEXT, extraText) //extraText为文本的内容
          flags = Intent.FLAG_ACTIVITY_NEW_TASK //为Activity新建一个任务栈
        }

        context.startActivity(Intent.createChooser(intent, context.getString(R.string.app_name))
        ) //R.string.action_share同样是标题
    }

    //
    //    /**
    //     * 跳转到whatapp连天窗口
    //     */
    //    public static void chatInWhatsApp(Context context, String mobileNum) {
    //        try {
    //            final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://api.whatsapp.com/send?phone=" + mobileNum));
    //            intent.setPackage("com.whatsapp");
    //            context.startActivity(intent);
    //        } catch (Exception e) {
    //            e.printStackTrace();
    //        }
    //    }
    //
    //    /**
    //     * 华为手机已经可以
    //     * 分享到line
    //     */
    //    public static  void shareToLine(Activity activity) {
    //        if (!CommonUtils.isContainPackName(activity, "jp.naver.line.android")) {
    //            String bb=activity.getString(R.string.wink1807);
    //            CommonUtils.showToast(String.format(bb,"Line"));
    //            return;
    //        }
    //
    //        String content= x.app().getString(R.string.app_name)+Constants.SHARE_URL;
    //
    //        String scheme = "line://msg/text/"+content;
    //        Uri uri = Uri.parse(scheme);
    //        activity.startActivity(new Intent(Intent.ACTION_VIEW,uri));
    //
    ////        Uri uri = Uri.parse(MediaStore.Images.Media.insertImage(activity.getContentResolver(), ImageUtil.drawableToBitmap(activity.getDrawable(R.mipmap.ic_launcher_round)),
    ////                null, null));//这个方法在公司oppo手机上空指针
    ////        String scheme ="line://msg/image"+FileUtil.getRealFilePath(activity,uri);
    //
    ////        activity.startActivity(new Intent(Intent.ACTION_VIEW,Uri.parse(scheme)));
    //    }
    //
    //    /**
    //     * success   分享链接（到facebook的时候会默认加载链接预览的）
    //     * 需要在正式版  翻墙后 才能打开
    //     */
    //    public static void facebookShare(Activity activity) {
    //        if (!CommonUtils.isContainPackName(activity, "com.facebook.katana")) {
    //            String bb=activity.getString(R.string.wink1807);
    //            CommonUtils.showToast(String.format(bb,"facebook"));
    //            return;
    //        }
    //
    //        CallbackManager callbackManager = CallbackManager.Factory.create();
    //        ShareDialog  shareDialog = new ShareDialog(activity);
    //        shareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() {
    //            @Override
    //            public void onCancel() {
    //
    //            }
    //
    //            @Override
    //            public void onError(FacebookException error) {
    //
    //            }
    //
    //            @Override
    //            public void onSuccess(Sharer.Result result) {
    //
    //            }
    //        });
    //
    //        //不需要了
    //        SharePhoto photo = new SharePhoto.Builder()
    //                .setBitmap(ImageUtil.drawableToBitmap(activity.getDrawable(R.mipmap.ic_launcher_round)))
    //                .build();
    //        SharePhotoContent content = new SharePhotoContent.Builder()
    //                .addPhoto(photo)
    //                .build();
    //
    //
    //        ShareLinkContent linkContent = new ShareLinkContent.Builder()
    //                .setContentUrl(Uri.parse(Constants.SHARE_URL))
    //                .setContentTitle(x.app().getString(R.string.app_name))
    //                .setContentDescription(x.app().getString(R.string.app_name))
    //                .build();
    //        shareDialog.show(linkContent);
    //
    //
    //    }
    //
    //    /**
    //     * success
    //     * 分享到whatsapp
    //     */
    //    public static  void shareWhatapp(Activity activity) {
    //        if (!CommonUtils.isContainPackName(activity, "com.whatsapp")) {
    //            String bb=activity.getString(R.string.wink1807);
    //            CommonUtils.showToast(String.format(bb,"WhatsApp"));
    //            return;
    //        }
    ////    WhatsAppShareUtils.getInstance(this).shareWhatsApp("hello"); //文字
    ////    WhatsAppShareUtils.getInstance(this).shareWhatsApp(new File(picFile)); //图片
    ////    WhatsAppShareUtils.getInstance(this).shareWhatsApp("hello", new File(test_image));//文字+图片
    ////    WhatsAppShareUtils.getInstance(this).shareWhatsApp("hello",new File(picFile),new File(apkFile)); //文字+图片+apk包
    //
    //
    ////        Uri uri = Uri.parse(MediaStore.Images.Media.insertImage(getContentResolver(), bitmap,
    ////                null, null));
    //        if (CommonUtils.isContainPackName(activity, "com.whatsapp")) {
    //            Intent sendIntent = new Intent();
    //            sendIntent.setAction(Intent.ACTION_SEND);
    //            sendIntent.putExtra(Intent.EXTRA_TEXT, x.app().getString(R.string.app_name)+Constants.SHARE_URL);
    //            sendIntent.setType("text/plain");
    //
    //            //单张照片
    ////            sendIntent.setType("image/jpeg");
    ////            Uri uri = Uri.parse(ANDROID_RESOURCE + getPackageName() + FOREWARD_SLASH + R.mipmap.home_share);
    ////            sendIntent.putExtra(Intent.EXTRA_STREAM, uri);
    //
    //            sendIntent.setPackage("com.whatsapp");
    //            sendIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
    //            activity.startActivity(sendIntent);
    //
    //        }else {
    //            CommonUtils.showToast("WhatsApp 未安装");
    //        }
    //    }
    //
    //    /**
    //     * success
    //     * 分享到Twitter
    //     * 若未安装twitter客户端，则会跳转到浏览器
    //     *
    //     * @throws MalformedURLException
    //     */
    //    public static  void shareToTwitter(Activity activity) {
    //        if (!CommonUtils.isContainPackName(activity, "com.twitter.android")) {
    //
    //            String bb=activity.getString(R.string.wink1807);
    //            CommonUtils.showToast(String.format(bb,"Twitter"));
    //            return;
    //        }
    //        try {
    //            Uri uri = Uri.parse(ANDROID_RESOURCE + activity.getPackageName() + FOREWARD_SLASH + R.mipmap.home_share);
    //            Intent intent = new TweetComposer.Builder(activity)
    //                    .text(x.app().getString(R.string.app_name))
    //                    .url(new URL(Constants.SHARE_URL))
    //                    .image(uri)
    //                    .createIntent();
    //
    //            activity.startActivityForResult(intent, Constants.ACTIVITY_REQUEST_CODE3001);
    //        } catch (MalformedURLException e) {
    //            e.printStackTrace();
    //        }
    //
    //    }
    const val ANDROID_RESOURCE = "android.resource://"
    const val FOREWARD_SLASH = "/"
}